Bloqueos
La idea básica de un Bloqueo es que cuando se esta procesando una transacción, inhibe todas las demás transacciones
Bloqueos
Transacciones
Base de datos
Bloqueo Exclusivo
(Gp:) DB
Transacción A
Transacción B
Bloqueo Exclusivo o de Escritura
Tupla
Si la transacción A pone un bloqueo exclusivo (X) sobre una tupla, entonces se rechazará una petición de cualquier otra transacción B para un bloqueo de cualquier tipo sobre la tupia
Bloqueos
Transacciones
Base de datos
Tupla
Bloqueo Compartido
(Gp:) DB
Transacción A
Transacción B
Bloqueo Compartido o de Lectura
Transacción C
Bloqueo Exclusivo
Si la transacción A pone un bloqueo compartido (S) sobre la tupla entonces:
Se rechazará una petición de cualquier otra transacción B para un bloqueo Exclusivo sobre la tupla.
Se otorgará una petición de cualquier otra transacción B para un bloqueo S sobre la tupla (esto es, ahora también B tendrá un bloqueo S sobre la tupla
Bloqueos
Matriz de Compatibilidad
Si
(Gp:) Transacción B
(Gp:) Transacción A
(Gp:) X
(Gp:) S
(Gp:) –
(Gp:) X
(Gp:) S
(Gp:) –
(Gp:) No
(Gp:) No
(Gp:) No
(Gp:) Si
(Gp:) No
(Gp:) Si
(Gp:) Si
(Gp:) Si
(Gp:) Si
X Bloqueo Exclusivo
S Bloqueo Compartido
Página anterior | Volver al principio del trabajo | Página siguiente |